export interface Folder {
  id: string
  name: string
  parent_id?: string
  path: string
  created_at: string
  created_by?: string
  children?: Folder[]
}

export interface CreateFolderData {
  name: string
  parent_id?: string
  created_by?: string
}

export interface UpdateFolderData {
  name?: string
  parent_id?: string
}

export interface FolderContents {
  folder: Folder | null
  subfolders: Folder[]
  scripts: Array<{
    id: string
    name: string
    description?: string
    tags: string[]
    created_at: string
  }>
  stats: {
    total_subfolders: number
    total_scripts: number
    total_size: number
  }
}

export interface FolderStats {
  folder: Folder
  stats: {
    total_scripts: number
    total_subfolders: number
    total_size: number
  }
  depth: number
  breadcrumb: Array<{
    id: string
    name: string
    path: string
  }>
}